"aspect-build/bazel-lib"

module(
    name = "aspect_bazel_lib",
    version = "2.10.0",
    bazel_compatibility = [">=6.0.0"],
    compatibility_level = 1,
)

# Lower-bounds (minimum) versions for direct runtime dependencies
bazel_dep(name = "bazel_features", version = "1.9.0")
bazel_dep(name = "bazel_skylib", version = "1.5.0")
bazel_dep(name = "platforms", version = "0.0.10")

# 0.5.4 is the first version with bzlmod support
bazel_dep(name = "stardoc", version = "0.6.2", repo_name = "io_bazel_stardoc")

bazel_lib_toolchains = use_extension("@aspect_bazel_lib//lib:extensions.bzl", "toolchains")
bazel_lib_toolchains.copy_directory()
bazel_lib_toolchains.copy_to_directory()
bazel_lib_toolchains.jq()
bazel_lib_toolchains.yq()
bazel_lib_toolchains.coreutils()
bazel_lib_toolchains.tar()
bazel_lib_toolchains.zstd()
bazel_lib_toolchains.expand_template()
bazel_lib_toolchains.bats()
use_repo(bazel_lib_toolchains, "bats_toolchains", "bsd_tar_toolchains", "copy_directory_toolchains", "copy_to_directory_toolchains", "coreutils_toolchains", "expand_template_toolchains", "jq", "jq_toolchains", "yq", "yq_toolchains", "zstd_toolchains")

register_toolchains(
    "@copy_directory_toolchains//:all",
    "@copy_to_directory_toolchains//:all",
    "@jq_toolchains//:all",
    "@yq_toolchains//:all",
    "@coreutils_toolchains//:all",
    "@expand_template_toolchains//:all",
    "@bats_toolchains//:all",
    "@bsd_tar_toolchains//:all",
    "@zstd_toolchains//:all",
)

####### Dev dependencies ########

# To allow /tools to be built from source
# NOTE: when publishing to BCR, we patch this to be dev_dependency, as we publish pre-built binaries
# along with our releases.

bazel_dep(
    name = "gazelle",
    version = "0.36.0",
    dev_dependency = True,
)
bazel_dep(
    name = "rules_go",
    version = "0.46.0",
    repo_name = "io_bazel_rules_go",
    dev_dependency = True,
)

go_deps = use_extension(
    "@gazelle//:extensions.bzl",
    "go_deps",
    dev_dependency = True,
)
go_deps.from_file(go_mod = "//:go.mod")
use_repo(
    go_deps,
    "com_github_bmatcuk_doublestar_v4",
    "org_golang_x_exp",
    "org_golang_x_sys",
)

host = use_extension("@aspect_bazel_lib//lib:extensions.bzl", "host", dev_dependency = True)
host.host()
use_repo(host, "aspect_bazel_lib_host")

host_platform = use_extension("@platforms//host:extension.bzl", "host_platform")
use_repo(host_platform, "host_platform")

bazel_dep(name = "aspect_rules_lint", version = "1.0.0-rc10", dev_dependency = True)
bazel_dep(name = "bazel_skylib_gazelle_plugin", version = "1.5.0", dev_dependency = True)
bazel_dep(name = "buildifier_prebuilt", version = "6.4.0", dev_dependency = True)
